bool isValid(char* s)
{    
    ST st;
    STInit(&st);
    while(*s)
    {   
        //如果是左括号，入栈
        if(*s == '(' || *s == '[' || *s == '{')
        {
            STPush(&st, *s);
        }
        //如果是右括号，就出栈比较
        else
        {
            if(STEmpty(&st))
            {
            STDestroy(&st);
            return false;
            }   
            char top = STTop(&st);
            STPop(&st);
            if(top == '(' && *s != ')'
            || top == '[' && *s != ']'
            || top == '{' && *s != '}')
            {
                STDestroy(&st);
                return false;
            }
        }
        s++;
    }
    if(!STEmpty(&st))
    {
        STDestroy(&st);
        return false;
    }
    STDestroy(&st);
    return true;
}